﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EvidenceLib.Base;
using EvidenceLib.Core;
using EvidenceLib.System;

namespace EvidenceLib.Case
{
    /// <summary>
    /// 单据类型
    /// </summary>
    public enum BillTypeEnum { EvidenceBill = 1, InStock = 2, InquiryInStock = 3, OutStock = 4, InquiryOutStock=5}
    //
    /// <summary>
    /// 审核状态
    /// </summary>
    public enum CheckStateEnum { UnCheck = 0, Check = 1 }
    /// <summary>
    /// 确认状态
    /// </summary>
    public enum ConfirmState { UnConfirm = 0, Confirm = 1 }

    /// <summary>
    /// 单据接口
    /// </summary>
    public interface IBill:IKey
    {
        /// <summary>
        /// 单据类型
        /// </summary>
        BillTypeEnum BillType { get; set; }

        CaseCategory Category { get; set; }

        string Number { get; set; }

        string Name { get; set; }

        string SerialNo { get; set; }
        /// <summary>
        /// 单据时间
        /// </summary>
        DateTime BillTime { get; set; }
        /// <summary>
        /// 制单部门
        /// </summary>
        Organization Department { get; set; }
        /// <summary>
        /// 制单人
        /// </summary>
        User Preparer { get; set; }

        string Description { get; set; }

        /// <summary>
        /// 审核部门
        /// </summary>
        Organization CheckDept { get; set; }
        /// <summary>
        /// 审核人
        /// </summary>
        User Checker { get; set; }
        /// <summary>
        /// 审核时间
        /// </summary>
        DateTime? CheckTime { get; set; }
        /// <summary>
        /// 审核状态
        /// </summary>
        bool IsCheck { get; set; }
    }
}
